package main

import "fmt"

// 管道
func main() {
	var intChan chan int
	intChan = make(chan int, 3)
	fmt.Printf("intChan 值=%v,intChan本身的地址=%p\n", intChan, &intChan) //intChan 值=0xc000112000,intChan本身的地址=0xc000006028
	// 向管道写入数据
	intChan <- 100
	num := 200
	intChan <- num
	fmt.Printf("chan len=%v,cap=%v \n", len(intChan), cap(intChan))

	// 数据超过cap会报错
	intChan <- 102
	//intChan <- 100

	//管道中取数据
	num2 := <-intChan
	fmt.Println(num2)
	// 自取数据，
	<-intChan
	// 全部取完再获取会报错

}
